# 使用官方的Python基础镜像
FROM python:3.9-alpine

# 设置 Alpine 腾讯云镜像源
RUN echo "https://mirrors.cloud.tencent.com/alpine/v3.12/main/" > /etc/apk/repositories && \
    echo "https://mirrors.cloud.tencent.com/alpine/v3.12/community/" >> /etc/apk/repositories

# 设置工作目录
WORKDIR /app

# 将当前目录内容复制到工作目录中
COPY . /app

# 直接使用官方镜像，不需要虚拟环境（官方镜像已隔离）
COPY requirements.txt .

# 升级 pip 并安装依赖
# RUN pip install --upgrade pip && \
#     pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple/

# 先升级 pip
RUN pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/

# 然后安装依赖，可以分批安装重要的包
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ --timeout=300 || \
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ --timeout=300

# 运行应用
CMD ["python", "./websocket_server.py"]
